恭喜我們來到第四天了!今天就和各位一起進入 Vue 的世界吧!
首先,在介紹 Vue 之前我們需要先來知道「框架」是什麼?
什麼是「框架」呢?
簡單來說,就是為軟體在開發時提供了一個基礎的架構,而框架本身無法自行運作,需要開發者搭配自己的程式才能組成一個完整的應用程式。
而我們也可以把他理解成是一種工具與規範,以前端來說的話,框架可以方便我們在製作網站時,有效避免重複執行並協助我們管理套件,讓團隊合作變得更有效率。
但別以為框架與一般的工具包或函式庫是相同東西喔,框架提供的是一個緊密結合的程式架構,不只是簡單的的工具類別而已,框架的程式架構還可以重複在不同的應用程式中開發,開發者也可以利用框架所提供給我們的標準建構,加速在應用程式上的開發。
而不同的程式語言所用框架也是不同的,也因為市面上大部分的框架都是開源的,只要是有人寫的程式語言,就會有不同的人依照各類標準去撰寫相對應的框架。
為什麼有「框架」呢?
在探索這個問題之前,我們需要先了解在開發軟體時會碰到的困難或挑戰。
首先,我們舉一個例子:
假設開發者正在開發一款能夠建立代辦事項的應用程式,而我們就以者個代辦事項的程式來講,此應用程式不僅需要讓使用者可以執行各種渲染的事項列表,也能讓使用者去執行添加或刪除事項這類的操作,還需要讓開發者能夠對此應用程式進行追後續的追蹤及維護,而這一系列的動作則被稱作為「狀態」 ( state )。
如果將每個步驟都分開來討論,看起來很簡單沒錯,但實際上來說,我們需要遍歷這些資料去建立新的工作物件,執行查詢、編輯或刪除這類操作。而當我們讓使用者在瀏覽器中完成這一系列操作時,問題就來了,在更動「狀態」時,同時也必須更動畫面。
這時候就需要框架來輔助我們完成這些操作,輕鬆的把工作清單渲染出來啦 ~
接下來就讓我們看看常見的框架有哪些吧!
看來大家對各個程式語言所對應的框架已經有所了解了,那接下來讓我們來深入探討關於前端常用的 4 大框架吧
Ember 是在 2011 的 12 月時於 SproutCore 的內部專案發行,是在我們要介紹的四個框架中最老的。與 React 和 Vue 這些的前端框架相比,客群少了很多,但而其優點是穩定性高、和一些巧妙的編碼原則,加上社區支持的呼聲,仍讓 Ember 榮獲享譽。
Angular 是在 2016 年 9 月 14 日時於 Google 內部的 Angular Team 與其他社群所開發的開源專案,而此專案是一群使用 Angular.JS 所寫的專案。
而 Angular 是基於組件,使用指令式 HTML 為樣板的框架。在構建時,框架的編譯器會先將模板轉換為優化的 JavaScript ,是使用了 JavaScript 超集的 TypeScript。
Vue 與 Angular 一樣,除了使用了自定義的 HTML 外,大部分還是使用現代化的標準 JavaScript,與是我們介紹的四大框架中最年輕且近來年用戶量最大的,也是本此鐵人賽我們將要認識的!而 Vue 是在 2014 年被發表的。
是由 Mark Elliot Zuckerberg 創立的 Facebook 中,於 2013 發表的。在發表當時,Facebook 內部就已經使用 React 去解決諸多的內部問題。而技術上來說,React 不算是框架,而是一種用來渲染 UI 組件的函式庫。而 React 通常還會配搭其他的函式庫來建立應用程式。
也由於 React 與 ReactDOM 經常配搭一起使用,經常會被理解成 JavaScript 框架。
使用的是類似 HTML的 JavaScript 語法。
對於要選擇框架時來說,瀏覽器是很重要的一個環節,需要去認真考慮框架的支持矩陣和 DSL 的問題。假如瀏覽器不支援,那將會是一個很大的問題,而如果是 DSL 不支援的話,則會造成整個開發團隊的困擾。
框架 | 瀏覽器支援 | 首選的 DSL | 支援的 DSL |
---|---|---|---|
Angular | IE9+ | TypeScript | HTML、TypeScript |
React | 當代瀏覽器(IE9+ 含有 Polyfill ) | JSX | JSX、TypeScript |
Vue | IE9+ | 基於 HTML | HTML、JSX、Pug |
Ember | 當代瀏覽器(IE9+ 直到 2.18 為止) | Handlebars | Handlebars、TypeScript |
那今天對於的介紹就到這裡結束拉!謝謝大家
明天就是第五天了>< 是一個小小小小小里程,各位可以猜看看明天的主題喔!